PMCW Radar

This is a phase-modulated continuous-wave (PMCW) radar simulation example based on RadarSimPy.

RadarSimPy is a radar simulation package built with python. Contact me if you are interested in this module.

This notebook is available on my GitHub.

Radar Model

Transmitter

The following table lists the basic parameters of the radar transmitter.

Parameter Variable in RadarSimPy Value
Center frequency ($f_c$) fc 24.125 GHz
Bandwidth ($B$) bandwidth 0 Hz
Transmitted power ($P_t$) tx_power 20 dBm
Pulse repetition period repetition_period 2.1 us
Pulse length ($T$) pulse_length 2.1 us
Number of pulses pulses 256

The transmitted signals are modulated with phase codes. The length of the phase code is 255 with the code rate of 256 Mb/s.

Receiver

The parameters of the receiver are listed in the table below.

Parameter Variable in RadarSimPy Value
Sampling rate ($f_s$) fs 250 Msps
Noise figure ($NF$) noise_figure 10 dB
RF gain/loss ($G_{rf}$) rf_gain 20 dB
Load resistor ($R_L$) load_resistor 1000 $\Omega$
Baseband voltage gain ($G_{BB}$) baseband_gain 30 dB

Create the FMCW radar model based on all the parameters defined above.

Targets

The propertities of targets are defined here. There are 3 targets in this simulation. The locations of the targets are defined through $(x, y, z)$ coordinates in meters, and the speeds of the targets are defined trough $(v_x, v_y, v_z)$ in $m/s$. The propertites of the targets also includes radar cross-section (RCS (dBsm)) and phase (radian).

Simulate Baseband Signals

Calculate baseband signal matrix: $$[channels, pulses, ADC~samples]$$

Simulate with Python engine

Simulate with C++ engine

Plot

Radar Signal Processing

Plot